            .
            
 ,  :

1.      ,  (   )    ,  .
2.  -                 50%,  .
3.       ,         2.     ,      .

      .

  ,      (, )  ,      ,   .        .    "" ,         ,     ,       ,  ,      .        Guard Position,     .

           Locations    Custom value ID       .     ,    Trigger:

call TriggerRegisterPlayerUnitEvent(t,Player(13),EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER,null)
call TriggerRegisterPlayerUnitEvent(t,Player(14),EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER,null)

,       ,       ID Locations:

return GetIssuedOrderId()==OrderId("move")

  ( ) :

function IssOrder takes nothing returns nothing
local unit u = GetTriggerUnit()
call SetUnitPosition(u,GetUnitX(u),GetUnitY(u))
call DisableTrigger(GetTriggeringTrigger())
call IssuePointOrderByIdLoc(u,OrderId("attack"),udg_Locations[GetUnitUserData(u)])
call EnableTrigger(GetTriggeringTrigger())
endfunction

   :

call SetUnitPosition(u,GetUnitX(u),GetUnitY(u))

     ,  ,      ,    .               .           .   ,    ,      1  2    .

          :

call IssuePointOrderByIdLoc(u,OrderId("attack"),udg_Locations[GetUnitUserData(u)])

   ,      ""              ,     attack.

      3,    .

     ,   ,    .          attack.       .     .                 .

   ,       .    Trigger     :

set t = CreateTrigger()
set g = CreateGroup()
call GroupEnumUnitsOfPlayer(g,Player(13),null)
loop
set u = FirstOfGroup(g)
exitwhen u == null
call GroupRemoveUnit(g,u)
if GetUnitAcquireRange(u)!=0 and IsUnitType(u,UNIT_TYPE_STRUCTURE) then
call TriggerRegisterUnitInRange(t,u,600,null)
endif
endloop
call DestroyGroup(g)
set g = CreateGroup()
call GroupEnumUnitsOfPlayer(g,Player(14),null)
loop
set u = FirstOfGroup(g)
exitwhen u == null
call GroupRemoveUnit(g,u)
if GetUnitAcquireRange(u)!=0 and IsUnitType(u,UNIT_TYPE_STRUCTURE) then
call TriggerRegisterUnitInRange(t,u,600,null)
endif
endloop
call DestroyGroup(g)

        (Locations)    ,   ,     "Dota Allstars".
   Triggers,      1  2:

call TriggerAddCondition(t,Condition(function IsMobCondition))
call TriggerAddAction(t,function IssOrder)

   ,  :

function IsMobCondition takes nothing returns boolean
return (GetOwningPlayer(GetTriggerUnit())==Player(13)) or (GetOwningPlayer(GetTriggerUnit())==Player(14))
endfunction









  - ,     . ,    . , Guard Position     ,   .
   -   ,   .

 :          




